Executing and verifying higher-order functional-imperative programs in Maude
نویسندگان
چکیده
منابع مشابه
Verifying Higher-Order Imperative Programs with Higher-Order Separation Logic
In this thesis I show is that it is possible to give modular correctness proofs of interesting higher-order imperative programs using higher-order separation logic. To do this, I develop a model higher-order imperative programming language, and develop a program logic for it. I demonstrate the power of my program logic by verifying a series of examples, culminating in the correctness proof of a...
متن کاملExecuting Higher Order Logic
We report on the design of a prototyping component for the theorem prover Isabelle/HOL. Specifications consisting of datatypes, recursive functions and inductive definitions are compiled into a functional program. Functions and inductively defined relations can be mixed. Inductive definitions must be such that they can be executed in Prolog style but requiring only matching rather than unificat...
متن کاملHigher Order Imperative Programming
It is argued that a programming style based on higher order techniques the use of procedures that have other procedures as arguments and or results can be most e ectively employed if it is driven by abstraction from real algorithms rather than attempting to work with a xed set of functional forms and the use of imperative forms and mutative procedures is permitted even encour aged rather than r...
متن کاملC-SHORe A Collapsible Approach to Verifying Higher-Order Programs
Higher-order recursion schemes (HORS) have recently received much attention as a useful abstraction of higher-order functional programs with a number of new verification techniques employing HORS model-checking as their centrepiece. This paper contributes to the ongoing quest for a truly scalable model-checker for HORS by offering a different, automata theoretic perspective. We introduce the fi...
متن کاملAdapting functional programs to higher order logic
Higher-order logic proof systems combine functional programming with logic, providing functional programmers with a comfortable setting for the formalization of programs, specifications, and proofs. However, a possibly unfamiliar aspect of working in such an environment is that formally establishing program termination is necessary. In many cases, termination can be automatically proved, but th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Logical and Algebraic Methods in Programming
سال: 2017
ISSN: 2352-2208
DOI: 10.1016/j.jlamp.2017.09.002